package Offer;

import java.awt.image.ImageProducer;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/**
 * @author lakersUp
 * @Classname  firstUniqChar
 * @Description   第一个只出现一次的字符
 *      使用Map两次遍历, 第二次也按照数组元素顺序进行遍历, 可以确保先找出的是第一个
 * @Date 2022/2/27 14:53
 * @Version 1.0
 */
public class Offer50firstUniqChar {
    public char firstUniqChar(String s) {
        Map<Character,Boolean> map=new HashMap<>();
        char[] chars = s.toCharArray();
        for (char c : chars) {
            map.put(c,!map.containsKey(c));
        }
        for (char c : chars) {
            if(map.get(c)){
                return c;
            }
        }
        return ' ';
    }
}
